//
// Created by 24087 on 2025/5/11.
//

#ifndef CIRCULAR_QUEUE_H
#define CIRCULAR_QUEUE_H

#include <stdbool.h>
#include <stdlib.h>
#include <stdint.h>
#include "stdio.h"
#include <math.h>

typedef int QE_DataType;

typedef struct Queue
{
	QE_DataType *data;
	int head;
	int tail;
	int size;
	int capacity;
} Queue;

/*队列初始化*/
void QueueInit(Queue* queue);
/*队列销毁*/
void QEDestroy(Queue* queue);
/*入队操作*/
void QEPush(Queue* queue, QE_DataType data);
/*出队操作*/
QE_DataType QEPop(Queue* queue);
/*判空*/
bool QueueEmpty(const Queue* queue);
/*判满*/
bool QueueFull(const Queue* queue);
#endif //CIRCULAR_QUEUE_H
